import type { Linter } from 'eslint';

import { interopDefault } from '../util';

export async function regexp(): Promise<Linter.Config[]> {
  const [pluginRegexp] = await Promise.all([interopDefault(import('eslint-plugin-regexp'))] as const);

  return [
    {
      plugins: {
        regexp: pluginRegexp,
      },
      rules: {
        ...pluginRegexp.configs.recommended.rules,
        // 源改 不允许未使用的捕获组
        'regexp/no-unused-capturing-group': [
          'off',
          {
            fixable: false, // 此选项控制规则是否可修复 默认为 false
            allowNamed: true, // 是否允许未使用的命名捕获组 默认为 false
          },
        ],
      },
    },
  ];
}
